import request from '../utils/request'

// 获取测试任务列表
export function getTestTaskList(params) {
  return request({
    url: '/api/test-orders',
    method: 'get',
    params
  })
}

// 获取测试任务详情
export function getTestTaskDetail(taskId) {
  return request({
    url: `/api/test-orders/${taskId}`,
    method: 'get'
  })
}

// 搜索测试任务
export function searchTestTasks(params) {
  return request({
    url: '/api/test-orders/search',
    method: 'get',
    params
  })
}

// 保存测试结果
export function saveTestResult(taskId, data) {
  return request({
    url: `/api/test-orders/${taskId}/results`,
    method: 'post',
    data
  })
}

// 关联测试结果
export function linkTestResult(taskId, data) {
  return request({
    url: `/api/test-orders/${taskId}/link-result`,
    method: 'post',
    data
  })
}

// 取消关联测试结果
export function unlinkTestResult(linkId) {
  return request({
    url: `/api/test-orders/link-result/${linkId}`,
    method: 'delete'
  })
}

// 生成质量报告
export function generateQualityReport(taskId) {
  return request({
    url: `/api/test-orders/${taskId}/quality-report`,
    method: 'post'
  })
}

// 导出报告
export function exportReport(taskId, format) {
  return request({
    url: `/api/test-orders/${taskId}/export`,
    method: 'get',
    params: { format },
    responseType: 'blob'
  })
}

// 获取质量预警配置
export function getAlertConfig(taskId) {
  return request({
    url: `/api/test-orders/${taskId}/alert-config`,
    method: 'get'
  })
}

// 保存质量预警配置
export function saveAlertConfig(taskId, data) {
  return request({
    url: `/api/test-orders/${taskId}/alert-config`,
    method: 'put',
    data
  })
}

// 获取质量预警历史
export function getAlertHistory(taskId) {
  return request({
    url: `/api/test-orders/${taskId}/alert-history`,
    method: 'get'
  })
}

// 获取可用缺陷列表
export function getAvailableDefects() {
  return request({
    url: '/api/defects/available',
    method: 'get'
  })
}

// 创建新缺陷
export function createDefect(data) {
  return request({
    url: '/api/defects',
    method: 'post',
    data
  })
}